<?php


class SecurityAccessPlugin {

	
	/**
	 * Retorna true si el rol tiene acceso a la pagina que se intenta ver ($scriptPhp)
	 */
	public static function hasAccess($menuItems, $scriptPhp, $allAccessPages, $rol) {

		if ($rol == "0")
			return true;
			
		// chequea que scriptPhp no se encuentre dentro de las paginas permitidas
		foreach ($allAccessPages as $page) {
			if ($page[script] == $scriptPhp) {
				return true;
			}		
		}
		
		// obtener la pagina actual del menu item
		$menuItemPage = null;
		foreach ($menuItems as $page) {
			
			if ($page[script] == $scriptPhp) {
				
				$menuItemPage = $page; 
			} else {
				$submenu = $page[submenu];
				if (($submenu != null) && (count($submenu) > 0)) {
					foreach ($submenu as $subPage) {
						if ($subPage[script] == $scriptPhp ){
							$menuItemPage = $subPage;	
						}
					}
				}
			}
		}

		if (strpos($rol, $menuItemPage[rol]) !== false)
			return true;

		return false;
		
	}
	
}